perm filename NOTICE[UP,DOC]3 blob sn#014101 filedate 1972-11-28 generic text, type T, neo UTF8
00100	*25 Feb 1972	NOTICEs	LES
00200	
00300	This file, kept in  NOTICE[UP,DOC],  is intended  to  function  as  a
00400	computerized  bulletin  board.     System  programmers  and CUSP file
00500	contributors are invited to disseminate  information  concerning  new
00600	programs  and  system  features  by adding notices to this file.  The
00700	format is arbitrary, except that the first line (and only the first
00800	line) should begin with a "*" and should contain three fields in the
00900	form
01000	 *<date><TAB><subject><TAB><programmer initials>
01100	In the date field, the year, month and day may be given in any order
01200	and the year may be abbreviated to 2 digits, but the month must be
01300	given as 3 or more letters.
01400	
01500	*23 Apr 1972	NEWS	LES
01600	To get selective listings from the NOTICE file, say "R  NEWS",  which
01700	will respond with an asterisk and expect a query such as
01800	 *March 15
01900	This asks for all notices posted since the ides of March. If the  day
02000	is  omitted,  1  is  assumed;  if  the  month  is omitted, January is
02100	assumed; if the year is omitted  (as  above)  the  last  instance  is
02200	assumed.
02300	
02400	 *Nov<TAB>SAIL
02500	is an example of a more general kind if query.   This  asks  for  all
02600	notices  since  last  November  1  that  contain  the  string  "SAIL"
02700	somewhere in the subject field, with any  case  differences  ignored.
02800	The search could be made more specific by saying
02900	 *NOV<TAB>SAIL<TAB>DCS
03000	which delivers only such notices written by Dan Swinehart.
03100	
03200	If  the  query begins with a <TAB>, so that the date is omitted, then
03300	all dates will be accepted.   Similarly, the  Subject  field  may  be
03400	omitted. A null query outputs the entire NOTICE file.
03500	
03600	If you would like the output to be spooled, type "*" at the end of your
03700	query, e. g.
03800	 *July 4, 1776	Sex*
03900	If you forget all this, type "?<return>" and this notice will  appear
04000	magically.
04100	
04200	*1 JAN 1972	DO	RPH
04300	Manual is in DO.RPH[S,DOC].
04400	
04500	*1 JAN 1972	DMAN	REG
04600	Dectape manager (PDP-10 format) -- see DMAN.REG[S,DOC].
04700	
04800	*1 JAN 1972	SPOOLER	REG
04900	See SPOOL.DOC[S,DOC].
05000	
05100	*1 JAN 1972	RSL SL WHAMS BAMS ETC	JHS
05200	Service Level Reservation System -- see RSL[S,DOC]
05300	
05400	
05500	*1 JAN 1972	Keyboard Commands	LES
05600	To get a summary of line editor  and  other  Monitor  commands,  list
05700	KEY.LES[S,DOC).
05800	
05900	*1 FEB 1972	INFO	REM
06000	
06100	To have access to the REM information system, type "RU I[S,REM]".
06200	
06300	*1 Jan 1972	FINGER	LES
06400	
06500	To get a listing of the names of all users currently  logged  in  and
06600	their locations, say "R FINGER".
06700	
06800	*29 Feb 1972	"Sticky PPN's" (RPG, COMPILE)	DCS
06900	
07000	   A PPN specification [P,PN] appearing before a file name in an
07100	RPG command string will be used for all subsequent files which
07200	do not specify a PPN explicitly.  This default remains in effect
07300	until another "sticky PPN" is specified.
07400	   As an example, if I am running under [AIL,DCS]:
07500	
07600	    COMPILE SAIL=HEAD+DB+[S,AIL]SAIL+SYM+PARSE+PROD[AIL,DCS]+EXPR
07700	
07800	would write the output on [AIL,DCS], get HEAD,DB, and PROD from
07900	[AIL,DCS], and get SAIL, SYM, PARSE, and EXPR from [S,AIL].
08000	
08100	*1 Jan 1972	SAIL Statement Counter Profile	RES
08200	
08300	To find out how to get SAIL to give you execution frequency data for
08400	pieces of your program, list NEWMAN[S,AIL].
08500	
08600	*2 Mar 1972	CREF Default Listing Device	DCS
08700	
08800	The CREF default listing device has been changed from LPT to DSK.
08900	This change is not made in RPG mode (so that the CREF system
09000	command will still go directly to LPT).
09100	
09200	*14 Mar 1972	TV "." and <esc>I Features	DCS
09300	
09400	Typing "⊗." (see TVED.DCS[UP,DOC] for notation) will cause the current
09500	page to become a permanent part of the file (like "W" in SOS).  CANCEL
09600	will henceforth bring back this version, not the old one.
09700	
09800	To interrupt a "FIND" search prematurely, type <esc>I.  This replaces
09900	the "\<crlf>" method.
10000	
10100	*23 Mar 1972	TV for III	DCS
10200	The TV editor (though still officially unsupported) will now run on
10300	both Data-Disk and III.  In fact, you can transfer (by detach/attach)
10400	from one to the other in mid-edit!
10500	
10600	*30 APR 72	SEND	RPH
10700	SEND NOW HAS THE FOLLOWING FORMATS:
10800	
10900	SEND PN		SEND TO ALL PN'S
11000	SEND *		WRITE NOTICE.TXT
11100	SEND *,PN	SAME AS SEND PN
11200	SEND P,*	SEND TO ALL P'S
11300	SEND P,PN	SEND TO SPECIFIC P,PN
11400	SEND *,*	SAME AS SEND *
11500	A PN IS SOME PROGRAMMER NAME
11600	A P IS SOME PROJECT NAME
11700	
11800	*30 APR 72	FAIL	FW
11900	The double arrow character is no longer treated specially
12000	within the comment portion of a line.  When not within a
12100	comment, it is equivalent to a carriage-return, line-feed
12200	pair.  Now, within comments, it prints as itself.
12300	
12400	*3 JUN 1972	RAID	DCS
12500	A new version of RAID is on the system.  Since it is compatible with
12600	both Data-Disc and III consoles, I have put it on SYS: as both 
12700	RAID.REL and TVRAID.REL.  Therefore /V, /1V, /H, /1H will all load
12800	the same program.  Later, TVRAID will be phased out (of LOADER, RPG)
12900	and the numeric argument to H and V switches will be ignored.
13000	This version has been tested fairly carefully.  But report any
13100	problems you have to DCS, anyway.  The old files are saved as
13200	RAID.RLO and TVRAID.RLO on [CSP,SYS].
13300	
13400	The following things have been changed:
13500	__ There are a few display changes; in particular, the arrow
13600	   conventions of the Data-Disc RAID are now used everywhere.
13700	__ Byte mode input will be displayed in byte mode.
13800	__ Conditional breakpoints now work exactly as advertised.
13900	__ Symbol←Expr, Symbol:, and Symbol<ctrl>K now work properly.
14000	__ All opcodes work on input (incl. ANDCAM, ORCAB, etc.)
14100	
14200	The following new features have been added:
14300	__ There are three new entries to the dispatch table preceding
14400	   DDT (JOBDDT → DDT) -- see RAID.ON[S,DOC] for the meaning of
14500	   this table.  The three are:
14600		DDT-12:	→$RPTCNT	See below
14700		DDT-11: →$BGDDT		First word of DDT
14800		DDT-10: →DDTEND		Last word of DDT
14900	
15000	__ This is "Version 1" of RAID.  The version is henceforth stored
15100	   in the leftmost 13 bits of JOBDDT.  Since DDT and old RAID
15200	   contain 0 here, you can tell which you have loaded.  This is for
15300	   the benefit of programs which use new features -- they can
15400	   try alternate methods if the Version isn't high enough.
15500	__ If you insert a JSR $I in your program, you will effectively
15600	   place a breakpoint at that location.  You can proceed via <ctrl>P.
15700	   DO NOT single-step or set a breakpoint on this instruction!
15800	   $I is an INTERNAL symbol in RAID.  There is a pointer to it at
15900	   DDT-6.
16000	__ When you type <call>DDT<cr>, RAID will simulate a breakpoint at
16100	   the address specified by JOBOPC.  You can proceed with <ctrl>P.
16200	   Do not expect this to work if you enter DDT before running anything,
16300	   or if your program jumps to DDT (unless it stores a reasonable
16400	   address in JOBOPC first).
16500	__ n<ctrl><meta>S, where n is a number, will execute instructions
16600	   in multi-step mode, as it would if n were absent.  However, no
16700	   change will be made in  the display until:
16800	     1) n instructions have been executed (<ctrl>X'ed subr =1 instr.)
16900	     2) RAID must pause to get instructions at a subroutine call.
17000	     3) You interrupt the stepping by typing something, or a
17100		breakpoint is encountered.
17200	   After you respond at a type (2) pause, again the display remains
17300	   unchanged until one of the conditions occurs again.  If you
17400	   responded <ctrl>S or <ctrl>X to the pause, the count will be
17500	   exhausted before the display changes again -- barring type (3)
17600	   events.  The remaining count, if any, is always available in 
17700	    $RPTCNT.   This is useful for counting exact numbers of 
17800	     executions in a given routine, etc.
17900	__ Symbol<meta>K obliterates the Symbol.  Unlike <ctrl>K, which
18000	   simply eliminates typout of the symbol, this also makes it
18100	   undefined for typein.  If, for instance, you have two locations
18200	   with the name NM1, do:
18300		NM2←NM1		Assigns a new name to one of them.
18400		NM1<meta>K	Deletes this symbol completely.
18500		NM1;		Reveals value of the other NM1.  Now
18600				NM2 refers to the first.
18700	__ Macros:
18800	   Address<ctrl>M<letter> defines <ctrl><meta><letter> as
18900	   a macro.  When the macro is invoked, Address (it can be just
19000	   an address or a byte pointer value) will be put in $M-1 (see
19100	   RAID.ON[S,DOC].  This has the effect of evaluating the string
19200	   at Address before evaluating any more keyboard input -- expanding
19300	   the macro.  Be warned that many <ctrl><meta><letter> combinations
19400	   already mean something -- use one you can do without (the macro
19500	   takes precedence).
19600	*4 JUN 1972	NEW DISPLAY EDITOR	SRS
19700	
19800	there now exists a new display editor, called ED, available for
19900	experimentation.  to run it, type
20000	 RU ED[S,SRS]
20100	when it starts up, there will be some documentation on the screen.
20200		ED is presently experimental, and improving.  Features
20300	include:  editing several files at once, splitting screen between
20400	several files or strings, faster than TV in some cases.
20500	
20600	*6 JUN 1972	PUB MANUAL	TES
20700	
20800	A new version of PUB was put up today with some obscure bugs fixed.
20900	Indexes and headings now work well.  AFTER PAGE does not always
21000	work, but AFTER TEXT is usually equivalent and does work.
21100	If you must use old version, please tell me why! To use it, log in
21200	as 12,TES and RUN PUB.
21300	
21400	There is a new manual: SPOOL PUB.TES[S,DOC]/N/B   It is 80 PAGES long, so
21500	if you don't plan to use PUB for a few months, it is advisable to
21600	wait for the SAILON to be printed.  The new manual has an index
21700	and a tutorial for beginners, plus appendices with (untested) examples.
21800	To use PUB for simple purposes, only a portion of the manual needs to be
21900	read.
22000	
22100	July will be Put-graphics-into-PUB month.  Please save all requests for
22200	such modifications until then (drawing characters, pictures, LDX output,
22300	better microfilm output, etc.).
22400	*MAR 1972	LOGOUT	REG
22500	Recent changes to logout command.
22600	
22700		The logout command is used to terminate a job that was created
22800	by Login, Fork, or Cfork commands.  The usual form of the command is
22900	K or KJOB, typed at monitor level, followed by a carriage return.
23000	
23100		A new command is called KAT, which combines the features of the
23200	K command and the ATtach command.  KAT requires the job number of the
23300	job to which you want to attach.  As in the Attach command, if you
23400	are attaching to a job with a different PPN than the job you are leaving,
23500	you must supply the ppn of the job to which you are attaching.
23600	
23700		Command Formats
23800		Note that curly backets { and } denote optional
23900	arguments; pointy brackets < and > denote a symbolic item which  should
24000	be replaced by some concrete instantiation of that item.
24100	
24200	K or KJOB command:
24300	
24400	K{JOB}{/<switch list>}
24500	
24600	KA{TTACH} <job number> {[<project name>,<programmer name>{]}}{/<switch list>}
24700	
24800	Each command line is terminated by a carriage return.
24900	
25000		The item <switch list> consists of any sequence of letters
25100	chosen from the list below:
25200		THIS LIST HAS BEEN OMITTED BECAUSE I FORGOT THEM ALL.
25300	
25400	For further confusion, consult R. Gorin.
25500	*1969	DDT	WFW
25600	 The following changes have been made to DDT:
25700	
25800	 l.  Halfword printout is now of the form  A,,B  instead
25900	     of  (A)B.  Either form may be used on input.  The difference
26000	     is that  A,,B  truncates  A to 18  bits before 
26100	     swapping halves while  (A)B  does not.
26200	
26300	 2.  $U is a new output mode.  It is the same as $A$H.
26400	 3.  $F mode will now print normalized floating permit
26500	     numbers as decimal integers.  This means that
26600	     FORTRAN users may, in general, use $F to look at
26700	     all variables and they will be printed correctly 
26800	     either fixed or floating.
26900	
27000	 4.  If the address of a string of ASCIZ text is placed
27100	     in $nB+3, then whenever breakpoint  n  is reached,
27200	     DDT will act as if the characters in the string were
27300	     being read from the teletype.  If you are preparing 
27400	     such a string in advance use either  $ or ≠ (≠33 octal)
27500	     for altmode.
27600	
27700	5.   If a  bytepointer to an  asciz  string is placed in
27800	     $M-l, DDT will act as if the characters in the string
27900	     are being read from the teletype.
28000	
28100	 6.  $$7" <delimiter> characters <delimiter> will act just
28200	     like an  asciz   statement in MACRO or FAIL,i.e.,
28300	     more than one word will be filled with  asciz for 
28400	     the characters if necessary.  $$" will have a similar
28500	     effect but with sixbit.
28600	
28700	 7.  Typing <number>$$P will cause DDT to do an automatic
28800	     proceed  <number>  times instead of forever.
28900	
29000	 8.  When printing in  $$  mode, no word will be printed
29100	     out as an I/O instruction (COND, DATAO, CONI, etc.)
29200	     unless the device number is in a special table.  The
29300	     table is  10  words long and is in $I-1, $I-2, etc.
29400	     Simply put device number here to have the appropriate I/O
29500	     instructions printed.
29600	
29700	 9.  If an address is placed in  $M-2  then for each character
29800	     DDT wishes to output, a pushj 1,@$M-2 will be executed. 
29900	     This allows output to be redirected to some device 
30000	     other than the TTY.  The character is in register 5.  The
30100	     routine should preserve all AC's and end with a POPJ l,.
30200	
30300	10.  In byte mode output ($<number>0), if a size of 0
30400	     is specified, DDT will use a special mark in $M+2.
30500	     The boundry between 1 and 0 bits specifies the size
30600	     of the bytes.  For example, a word containing
30700	
30800			11111111111 00000000000 11100010110001
30900	
31000	     would print 2 . 11 bit bytes, 2 3 bit bytes, 2 1 bit
31100	     bytes, a 2 bit bytes, a 3 bit byte, and a 1 bit byte.
31200	
31300	11.  Bytes may be input of $<number>%.  This should be
31400	     followed by a string of unsigned octal numbers
31500	     separated by common and terminated by an altmode.  The 
31600	     number of bytes in a word is not integal the last
31700	     byte is treated as if the word were larger 
31800	     (bit number greater than 35).  This makes input compatible
31900	     with output.  A size of  O  uses the mark in $M+2
32000	     as above.
32100	
32200	12.  It is now possible to print flag words and  T  type
32300	     instruction (TRUN, TLNN, etc.) with suitable names
32400	     for the bit involved.  In $M+3 a pointer of the following
32500	     form is placed:
32600	
32700					_______
32800					|            |
32900	    _______      	|             |
33000	$M+3 |  L1 | T0  |		| Table 0    | 
33100					|            |
33200					_______
33300		
33400					
33500					_______
33600					|            |
33700					| Table 1    |
33800					|            |
33900					_______
34000	
34100					_______
34200					|	     |                
34300					| Table 2    |
34400					|	     |                
34500					_______
34600	     As many tables as desired may be included.  The pointer
34700	     to the last table should have 0 in the left half. Each
34800	     table contains 36 words.  The  nth  word contains the
34900	     RADIX50 for the name of bit n.  $<number>J  mode will
35000	     cause a word to be printed out using the bit names in
35100	     table number.  If an entry for a bit in 0, the numeric
35200	     value will be printed.  A typical word might look like
35300	
35400	              foo! baz! 123,, fool! garp! 2
35500	
35600	     $J means $0J.  $nL causes the left half to be
35700	     printed in symbolic and the right half to be printed in
35800		↑STODAT:
35900	     bit mode, using the names of the bits as if they appeared
36000	     in the left half. $<number>V prints the left half in symbolic
36100	     and the right half in bit mode.
36200	
36300	13.  You can now transfer to what is pointed to by the left half
36400	     of a word in the same manner as you transfer using <tab>.
36500	     The command is <control>].
36600	
36700	*FEB 1972	NEW WHO	DCS
36800	As of 12-9-71:
36900	
37000	1. WHO  will  run for about two minutes, then quit.  You can  reset
37100	   this time by issuing commands (see below).
37200	
37300	2. Typing <call> does not stop spacewar jobs.  However, after about
37400	   6 seconds of operation after a <call>, the spacewar portion of
37500	   WHO will bomb out (PC EXCEEDS MEM BOUNDS AT 377777).  This will
37600	   be made cleaner if the system types give me some help.
37700	
37800	3. WHO commands are now single-character commands.  WHO will not wait
37900	   for a carriage return before executing one.
38000	
38100	4. Previously, many lines of the WHO page were lost below the bottom
38200	  of the screen.  WHO now provides a "windowing" feature.   Type  "↑"
38300	  to  move  the  text  up,  so  that the line which did appear at the
38400	  center of the screen now appears at the top.  This reveals  several
38500	  new  lines  at  the  bottom.  A digit preceding the "↑" serves as a
38600	  repeat factor.
38700	 
38800	5. The "↓" command, with optional repeat factor, moves the text down
38900	   by a half-screenful, unless the first line already is displayed.
39000	
39100	6. The "E" command causes WHO to quit.  However, the last-drawn screen
39200	   will not be cleared.  So you can look at it.
39300	
39400	7. Any other character will cause WHO to clear the screen (revealing
39500	   your old page printer), then quit.
39600	*14 June 1972	VIDEO SWITCH DOCUMENTATION	LES
39700	A  SAILON  describing  the   video   switch   hardware   resides   in
39800	VDS.LES[S,DOC].  A description of keyboard commands and monitor calls
39900	for controlling the switch and DD channel allocation are described in
40000	VIDEO.LES[UP,DOC].  To  get  a  summary of the keyboard commands, say
40100	"HELP DISPLAY" or "SPOOL KEY.LES[UP,DOC]".
40200	
40300	*7 July 1972	DOCUMENTATION FILES	LES
40400	Online documentation files are divided into several areas, as follows.
40500		[P,DOC] contains the compiled version of the lab phone
40600			directory and other lists of people.
40700		[UP,DOC] contains user program descriptions (informal).
40800		[S,DOC] contains SAILONs, which are more formal descriptions
40900			of programs and hardware.
41000		[AIM,DOC] contains A. I. Memos, which report research results.
41100		[BIB,DOC] contains bibliographies of films, theses, SAILONs, etc.
41200	
41300	*23 JULY 1972	KLOG	RHT
41400	The KLOG command allows you to switch areas in one line.  Semantically
41500	it is LOGOUT, followed by LOGIN.  The syntax is:
41600	
41700	KLOG {/<logout switch>} {ppn spec (as you would type to LOGIN)}
41800	
41900	examples 
42000	
42100	KLOG 1/RHT
42200	
42300	KL/F 1|RHT
42400	
42500	KL 
42600	1,RHT
42700	
42800	*24 Jul 1972	SAIL	DCS,RHT,JRL
42900	LEAP news
43000	
43100		1. In the past global model users of LEAP were required
43200		   to have the statement:
43300			
43400			REQUIRE -1 NEW_ITEMS;
43500			
43600		   in order to inhibit the allocation of various tables
43700		   for the local leap model. This statement is no longer
43800		   required. Instead the decision to allocate the tables
43900		   will be made using the following criteria. The local model
44000		   tables will be allocated only if any of the programs loaded
44100		   together to form a single job contain any declared local
44200		   items ( that is, any items declared without the attribute
44300		   GLOBAL), or any of the programs contain  the statement:
44400			
44500			REQUIRE n NEW_ITEMS;
44600	
44700	       	   where "n" is greater that 0.
44800		   NOTE: this means that all users of local model LEAP must now
44900		   "require" new_items if they are going to dynamically create
45000		   non-global items by using the function NEW.(previously an
45100		   implicit REQUIRE 60 NEW_ITEMS was contained in every program).
45200	
45300	
45400		2. LEAP tables are now allocated as part of the SAIL initialization
45500		   code rather than on the first call to any LEAP subroutine.
45600		   The tables will be allocated if any of the SAIL programs
45700		   loaded contain declared items, itemvars, sets, lists or calls
45800		   to LEAP. This change was made so that datums of items could
45900		   be utilized before the first call to LEAP.
46000	
46100		3. The type codes for items have been altered. The new codes
46200		   returned by the TYPEIT function are as follows:
46300	
46400				0 - item deleted or never allocated
46500				1 - no type (no datum for this item)
46600				2 - item is bracketed triple
46700				3 - string
46800				4 - real
46900				5 - integer
47000				6 - set
47100				7 - list
47200				8 - procedure
47300			       16 - string array
47400			       17 - real array
47500	                       18 - integer array
47600			       19 - set array
47700			       20 - list array
47800			       21 - invalid (runtime has screwed something up)
47900	 	   The very astute user will notice that the only changes are to
48000		   up the codes for arrays and invalid by 5.
48100	
48200		IMPORTANT NOTE:This unfortunately will necesitate the recompilation
48300		and reloading of any programs which use array items as the RUNTIME 
48400		routines also use these type codes.The standard
48500		compiler  SAIL on [1,3] will have these changes as of 23:59 WED,
48600		jul26. Therefore if any of your programs use array items you should
48700		recompile them starting Thurs jul 27. Foist all complaints onto
48800		Jim Low.
48900	
49000	
49100	*25 Jul 1972	SPOOLER	REG
49200	SPOOLER NEWS:
49300		The old spooler '*LIST*' has been removed  from  the  system.
49400	Users of the spooling subroutines described in SPSUB.REG[UP,DOC] will
49500	have to reload with the new libraray.
49600	
49700		The command SPOOLQ has been removed. Instead, use the command
49800	QSPOOL.   This  has the advantage that the command can be abbreviated
49900	to one letter and the SPOOL command to two letters.
50000	
50100		A new SPOOL command is planned. This will allow users to more
50200	fully utilize features of the new spooler.
50300	
50400	*1 Aug 1972	FORTRAN	REG
50500	DEC FORTRAN version 25 and LIB40 version 31 have been put up.
50600	Some of the bugs in the compiler / operating system have been
50700	eliminated.
50800	
50900	*9 Aug 1972	DATA DISK	FW
51000	Two new features have been added to data disk DPYOUT:
51100	
51200	1) Overlapped mode, enabled by bit 0 of header word 0.
51300	   In this mode, a DPYOUT will return without waiting for
51400	   the transfer to be completed (although it will wait
51500	   for any previou transfer), enabling the program to
51600	   continue running. Header+2 will be set nonzero during
51700	   the transfer, and to zero after the transfer is complete,
51800	   so testing this is convenient (which should be done before
51900	   changing the buffer). A DPYOUT with a zero word count will
52000	   wait for a previous transfer without initiating a new one.
52100	
52200	2) Double field mode, useful for text output. This is enabled
52300	   by bit 1 of header word 0 and will cause the buffer to be
52400	   transferred twice, once on each field. Header+3 should specify
52500	   the address of the line address command word, which should
52600	   contain the low-order line address as the third command in
52700	   the word. Bit 24 of this word will be set to the proper
52800	   field on each transfer. This feature cannot be used if more
52900	   than one low-order line address command is used.
53000	
53100	*16 Aug 1972	AP NEWS	ME
53200	
53300	We have a line from the Associated  Press  (AP)  over  which  we  get
53400	national  and  international news.  The news that comes in gets filed
53500	on the disk and saved for about 24 hours.
53600	
53700	For use in reading the news, there are two programs on the system.
53800	
53900	Type "R HOT" to have the news typed on your console as it comes in.
54000	
54100	Type "R APE" to be able to selectively read the news that is on file.
54200	The  stories  are catagorized by keywords; to read the news, you type
54300	to APE whatever keywords you want to read about.  To  get  help  when
54400	you are running APE, type "?" and carriage return at any point. For a
54500	list of the keywords, TYPE the file WORDS.SRT[AP,SYS]  or  SPOOL  the
54600	file WORDS.LST[AP,SYS].
54700	
54800	For further information, see the file APE.ME[UP,DOC].
54900	
55000	
55100	*16 AUG 1972	SAIL MATRIX ROUTINES PACKAGE	SHK
55200	
55300	Following Matrix Routines Now Available:
55400	
55500	1) Real Matrix Multiplication Routine
55600		Multiplies two n-dimensional matrices (2-dimensional arrays)
55700		(size  m x n by n x p  to get a  m x p  matrix)
55800		or multiplies a 1-dimensional matrix by an n-dimensional matrix
55900		or an n-dimensional matrix by a 1-dimensional.
56000	MATMUL(REAL ARRAY A[a:b,c:d],REAL ARRAY B[c:d,e:f],REAL ARRAY C[a:b,e:f]);
56100		multiplies A by B and places the result in C
56200		(MATMUL(A,B,A) and MATMUL(A,B,B) are also valid.)
56300		The only thing it won't do (I think) is multiply two 1-dimensional
56400		matrices or n-dimensional arrays (n>2).
56500	
56600	2) Array Clear Routine
56700		MATCLR(REAL (or INTEGER) ARRAY A);
56800		Zeros the array A.
56900	
57000	3) Real Array Multiplied by a Real Constant
57100		CONMUL(REAL ARRAY A,REAL B);
57200		Multiplies array A by constant B and places the result in A.
57300	
57400	All three are available by saying REQUIRE "MATMUL[4,SHK]" LOAD_MODULE;
57500	
57600	
57700	*30 Aug 1972	UUO	SHK
57800	There is now a numerical listing of the UUO's - UUO.SHK[S,DOC]
57900	
58000	*4 Sept 1972	AP NEWS	ME
58100	 The AP news is now spooled once a day (at a somewhat random
58200	 time).  The listing, which will be kept in the conference
58300	 room, will indicate a file name of "APNEWS[AP,SYS]".
58400	
58500	*4 SEP 1972  FILDMP	RPH
58600	New program to list files in different formats. See FILDMP.RPH on UP,DOC.
58700	
58800	*4 SEP 1972  NEW SAIL	RHT
58900	 EFFECTIVE 1201 AM SAT, 26 AUG, A NEW SAIL SYSTEM  WILL  BE  UP.  ITS
59000	 SEGMENT  WILL  BE  SAISG4.  THIS NEW SYSTEM WILL INCLUDE SEVERAL NEW
59100	 FEATURES, INCLUDING USER REQUESTED  INITIALIZATIONS,  A  LOCATION(X)
59200	 FUNCTION,  AN  IMPLICIT  ARRAY:  MEMORY[0:MEMSIZE], THE RUDIMENTS OF
59300	 MULTIPLE PROCESSES, AND  MUCH  MORE.   WE  WILL  TRY  TO  HAVE  SOME
59400	 DOCUMENTATION READY BY THE LATTER PART OF THE WEEK.
59500	*22 SEP 1972	NEW SAIL	RHT,JRL,KVL
59600	 THE NEW SAIL SYSTEM IS UP. THERE ARE MANY NEW FEATURES INCLUDING
59700	 MULTIPLE-PROCESSES WITHIN JOBS,EVENTS, A LIMITED FORM OF BACKTRACKING
59800	 BETTER FOREACH STATEMENTS, BETTER ERROR RECOVERY ETC.
59900	
60000	 THE DOCUMENTATION FOR THE NEW FEATURES IS NOT YET AVAILABLE, BUT
60100	 EXAMPLES OF THE GLORY OF NEW SAIL ARE CONTAINED IN PAPER.DOC[S,JRL]
60200	 NEWFEA.TXT[S,JRL].
60300	
60400	 THE NEW SYSTEM USES SAISG4, LIBSA4, HLBSA4, AND FOR YOU GLOBAL
60500	 MODEL HACKERS GLBS10. 
60600	
60700	 NO SOURCE LANGUAGE INCOMPATIBILITIES ARE KNOWN, BUT OF COURSE
60800	 ALL PROGRAMS LOADED TOGETHER SHOULD BE COMPILED WITH THE
60900	 NEW COMPILER, AND OLD PROGRAMS SHOULD BE RECOMPILED BEFORE THEYY
61000	 ARE RELOADED.
61100	
61200	
61300	 OLD DUMP FILES SHOULD CONTINUE TO RUN FOR A WHILE UNTIL
61400	 SAISG3 IS DELETED.
61500	
61600	 SEND COMPLAINTS AND BUGS TO S,AIL OR SEE JRL,KVL OR RHT
61700	 A CURRENT LISTING WILL BE APPRECIATED. BETTER SERVICE
61800	 WILL BE GIVEN IF YOU ARE ABLE TO TICKLE THE BUG IN A SMALL
61900	 PROGRAM WITHOUT UNREADABLE MACROS.
62000	
62100	 FOR THE NEXT COUPLE DAYS WE WILL KEEP THE PREVIOUS COMPILER
62200	 AROUND AS SAIL.921[1,3], SAILOW.REL AS SAILOW.921, AND
62300	 GLBLOW.REL AS GLBLOW.921.  IF YOU FEEL YOU ARE BEING
62400	 SCREWED BY SOME TERRIBLE BUG, YOU CAN, FOR INSTANCE,
62500	 SAY SOMETHING LIKE
62600	 
62700	 R SAIL.921 <CR>
62800	 * FOO←FOO <CR>
62900	 * LOADER!
63000	 * SAILOW.921[1,3],FOO <ALT>
63100	 
63200	 WHERE THE STARS ARE TYPED BY THE SYSTEM
63300	 
63400	 THIS WILL GIVE YOU THE EFFECT OF DOING 
63500	 
63600	 LOA /COM FOO
63700	 
63800	 USING THE PREVIOUS SYSTEM.  
63900	
64000	*22 Sept 1972	Upper Segment RAID and DDT	TVR
64100	RAID or DDT may be retrieved from the disk  and  run  from  an  upper
64200	segment.  This means your core image may contain RAID at a much lower
64300	cost (102 octal words instead of 12200 words for RAID).  For  details
64400	see DEBUG.DOC[1,TVR]
64500	
64600	*22 Sept 1972	AP NEWS	ME
64700	Multiple word keywords are now implemented in APE.  To use them,
64800	separate the individual words with spaces in your keyword exressions.
64900	
65000	Also, to have only the first few lines of each story you select
65100	typed out, type an "F" at the beginning of the story selection
65200	line ("Read which one(s)?").  If you use both "F" and "=" on
65300	the same line, the order is irrelevant.  When you use the "F"
65400	feature, you cannot spool or save the stories in a file.
65500	
65600	For details on using APE, see the file APE.ME[UP,DOC].
65700	
65800	*12 Oct 1972	FAIL	TVR
65900	FAIL has been changed to stop at each error and give  the  option  to
66000	continue  to next error, continue automatically or to edit.  The edit

66100	option will call SOS if there are line numbers and TVED if not.   Any
66200	complaints  should be sent to TVR.  If you don't want to stop at each
66300	error, give FAIL the switch (F).  The old version is FAIL.OLD[1,3].
66400	*21 Oct 1972	SAIL	JRL,RHT,KVL
66500	A new SAIL compiler has been put up to correct bugs reported in the
66600	last few weeks. There should be no incompatibitlies with the preceding
66700	compiler and programs compiled with the previous compiler should
66800	be runable with programs compiled with the new compiler. Thus, there
66900	is no need to recompile or even reload SAIL programs which have
67000	been compiled since SEPT 21.  If you do have a program which
67100	compiled in the last month but doesn't now:
67200		1. REPORT THE PROBLEM TO A SAIL HACKER - or send
67300		   a message to AIL, including such details as
67400		   where a copy of the offending program is and the
67500		   nature of the SAIL bug.
67600	        2. You may use the previous compiler by
67700		   R  SAIL.102
67800	           * FOO←FOO
67900	           * <call>
68000	           where  FOO is the name of your sail program and  <call>
68100		   represents the typing of the CALL button (the stars are
68200		   typed by the system). The above sequence is equivalent to
68300		   the system level command:
68400	
68500			COM /COM FOO
68600	
68700	A note to users of multiple processes and matching procedures:
68800		To initialize the multiple process environment the user
68900	        should include the following declaration:
69000	
69100		   EXTERNAL PROCEDURE MAINPR;
69200	
69300		He should also make sure this procedure is called before
69400	        doing any process sprouting or matching procedure calling.
69500		This is best done by using the REQUIRE INITIALIZATION feature
69600	        or by making:
69700		   MAINPR;
69800	        The first executable statement of your program.
69900	This initialization will be compiled in, in the near future but until
70000	then the above hack is required.
70100	*3 Nov 1972	USER INTERRUPTS	FW
70200	The PC stored on a memory protect interrupt via the new-style
70300	user interrupt system is now the exact PC stored by the hardware,
70400	rather than being incremented as it used to be. This is consistent
70500	both with the old-style (DEC) user interrupt system and with the
70600	"ILL MEM REF AT USER xxxxxx" typeout. If you really care about
70700	the exact value of this PC, consult me or the PDP-10 flowcharts,
70800	as it is anything but consistent.
70900	*3 Nov 1972	VIDEO SWITCH	FW
71000	The VDSMAP UUO now allows the 6 extra switch channels to be
71100	addressed by setting bit 9 in the AC and putting the channel number
71200	(0-5) in the TTY# field (11-17).
71300	
71400	*8 Nov 1972	DUMPS	REG
71500	DART, a new program to back up disk  files  on  tapes,  is  available.
71600	system commands DUMP, RESTORE, TLIST, REWIND, BACKSPACE, ADvANCE all
71700	run DART now, instead of DAEMON (CAUTION: new syntax in some cases).
71800	See DART.REG[UP,DOC].
71900	
72000	*8 Nov 1972	PROTECTION	REG
72100	The  file  access  protection  bit  400,  which   formerly   had   no
72200	signifigance,  now  means  'Dump  Never' in DART.  All files that had
72300	used this bit have been renamed without it.
72400	
72500	*11 Nov 1972	SYSTEM	REG
72600	The job table JOBQUE in the system now contains either the positive 
72700	or negative value of the queue code of a job. Formerly, it had
72800	always been negative.
72900	
73000	*26 Nov 1972	FTP	DCS
73100	A new FTP has been installed with the following features:
73200	
73300	 1) You needn't type the MODE, TYPE, or BYTE commands at all
73400	    unless you want to change the defaults of S, I, and 36 resp.
73500	    Changing them is inadvisable since we only support those
73600	    settings.  The defaults will be to the foreign host just
73700	    before the first data transfer.
73800	
73900	 2) RSTR clears any DATA connections that the FTP thinks it has
74000	    open.  Sometimes it's wrong.  If you get an indication from
74100	    FTP that a command is illegal because the DATA connection already
74200	    exists, do this command.  It will go away when hacks in FTP
74300	    have been cured.
74400	
74500	 3) QUOT sends the rest of the line directly over the net, so you
74600	    can use it to execute other peoples commands which are either
74700	    nonstandard or just unsupported here.  This won't do any good
74800	    if our end has to be involved in the operation, but it is good
74900	    to do things like STAT (status), and HELP at CMU.
75000	 See FTP.DCS[UP,DOC] for "complete" information about our FTP,
75100	 and NIC document 10596 for complete FTP protocol description.
75200	
75300	*26 Nov 1972	MLISP2	DAV
75400	A new version of MLISP2 has been put on the system.  An old version
75500	exists and will be around for one week.  The main motivation for
75600	the changes was to fix several serious bugs,
75700	and to clean the language up prior to publishing a manual.
75800	Changes:
75900		(1) Variable names can no longer be literals (e.g. IF, FOR, ...).
76000		(2) <IDEXP>, <ADDEDEXPR> have been subsumed by <EXPRESSION>.
76100		(3) SPECIAL variables now must be declared at translation (PARSE)
76200			time.  To facilitate this, a new production has been added,
76300			having the form:	SPECIAL <identifier_list>
76400			It is strongly suggested that all SPECIAL variables be
76500			declared at the top of the program using this production.
76600		(4) ?# in the syntax (to inhibit scanning) should now be just #.
76700			It no longer takes up a syntax position.
76800		(5) Setting variables in backtracking contexts is now done with
76900			real LISP numbers (formerly machine representation).
77000			A function CONTEXT() gets the current backtracking
77100			context.  X{CONTEXT()/10 + 3} ← etc. is now legal.
77150		(6) THE FOLLOWING CHANGE IS TEMPORARY; WILL BE FIXED IN A DAY OR 2:
77200		(*) Prefixes are more restricted in use; the syntax is
77300			<PREFIX>  <SIMPEX>  as always, but IF, FOR, CASE, etc.
77400			are no longer <SIMPEX>'s but are now full <EXPRESSION>'s.
77500			Thus RETURN IF ..., PRINT CASE ..., etc. no longer work;
77600			use  RETURN(IF ..., PRINT(CASE ..., etc.
77700		(7) The syntax of SELECT has been changed.  Use SUCCESSOR instead
77800			of NEXT, and FINALLY instead of IN WHICH CASE.
77900			E.g. SELECT CAR(L) FROM L:'(A B C) SUCCESSOR CDR(L)
78000				UNLESS NULL(L) FINALLY FAILURE()
78100		(8) MLISP2.PRI now prints as it goes along, instead of at the end.
78200